DVIprint, der TEX-Druckertreiber für den AMIGA

Version 1.13

vom 25. August 1991

von Georg Heßmann

Abstract

DVIprint ist ein TEX-Druckertreiber, der vor allem durch seine Flexibilität besticht. Zum einen auf allen HP-DeskJet kompatiblen Druckern ausdrucken. Dann kann er aber noch auf mit praktisch allen Nadeldruckern umgehen. Er ist nicht starr für einen bestimmten Nadeldrucker programmiert, sondern kann mittels eines Konfigurationsfile an jeden einzelnen Nadeldrucker angepaßt werden. Wem dies immer noch nicht ausreicht, der kann auch über die Preference Treiber des Betriebssystems ausdrucken. Somit sollte eigentlich jeder graphicfähige Drucker von DVIprint angesprochen werden können. Und das alles bei maximal möglicher Geschwindigkeit.

Inhaltsverzeichnis:

1. Copyright und ähnliches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Allgemeines über DVIprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3. Der Aufruf von DVIprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. Der Aufruf vom CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. Start von Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2.1. WINDOW Tooltype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4. Verfügbare Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5. Benötigte Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.1. Für den NEC P6/P7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2. Für den HP DeskJet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.3. Für den Epson FX-80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6. Internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.1. Erzeugung nichtgefundener Fonts mittels Metafont . . . . . . . . . . . . . . . . . . . . 10 6.2. Fontverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

7. Benötigte Soft- und Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

8. Bekannte Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1. Copyright und ähnliches

Das Programm DVIprint ist “freely distributable copyrighted software”. Das heißt, jeder darf es sich kopieren und verwenden. Das Copyright bleibt jedoch vollständig bei mir (Georg Heßmann).

Das Programm darf ohne meine ausdrückliche Genehmigung nicht kommerziell verkauft werden. Als PD-Software vertrieben muß der Preis unter 5 DM pro Diskette liegen oder genau 5 DM betragen.

Die Weitergabe ist nur in vollständiger und unveränderter Form erlaubt.

Diese Anleitung “dvip.tex” ist ebenfalls Copyright Georg Heßmann und darf nicht kommerziell vervielfältigt werden. Man darf sie sich ausdrucken und auch kopieren, man darf sie aber nicht für Geld weitergeben.

Für weitere Erklärungen siehe das README-File.

An dieser Stelle möchte ich mich noch bei Jörg-Cyril Höhle bedanken, der mir sehr bei der Weiterentwicklung des DVIprint Programms geholfen hat.

2. Allgemeines über DVIprint

DVIprint ist ein TEX-Druckertreiber. Da TEX als einzige Ausgabe ein DVI^{1}-File

1 device independent erzeugt, braucht man eigene Programme, um das Resultat zum einen auf den Bildschirm und zum anderen schwarz auf weiß zu Papier zu bringen. Dazu muß das DVI-File interpretiert und eine Bitmap der einzelnen Seiten erzeugt werden. Da im DVI-File lediglich steht, welche Buchstaben wohin kommen – aber nicht, wie sie aussehen –, kann man die Seiten eines DVI-Files in beliebigen Auflösungen darstellen. Das einzige, was man dazu benötigt, sind die Fonts in der jeweiligen Auflösung.

Als Besonderheit ist DVIprint nicht nur ein Druckertreiber für einen einzigen Drucker, sondern gleich für viele. Fest eingebaut ist eine Ansteerung der HP-DeskJet Druckern sowie ein konfigurierbares Nadeldrucker Interface. Dieses Interface wird über das File DVIprint.printers definiert. Durch Einträge in diesem File kann man DVIprint an alle “halbwegs normalen” Nadeldrucker anpassen (ich kenne keinen, bei dem es nicht ginge). Eine Beschreibung des Files DVIprint.printers finden Sie in dem File selbst. Normalerweise hat Sie aber das Innenleben dieses Files nicht zu interessieren.

Aber dies ist noch nicht alles. DVIprint kann auch über die Preference-Treiber des Betriebssystem drucken. DVIprint ist also ein multifunktionaler TEX-Druckertreiber, der praktisch alle an den AMIGA anschliesbaren Drucker unterstützt.

DVIprint kann aber noch mehr. Es kann die TEX-Seiten auch in ein IFF-File “drucken”. Da man auch noch die Auflösung vollkommen frei wählen kann, kann man so seine TEX-Texte in beliebiger Größe in ein IFF-File packen.

3. Der Aufruf von DVIprint

DVIprint kann sowohl von Workbench als auch von CLI aus aufgerufen werden. Da die Tooltypes, die im Info-File angegeben werden koennen, den Optionen, die man von CLI aus angeben kann, entsprechen, wird zuerst der Start von CLI aus beschrieben.

3.1. Der Aufruf vom CLI

DVIprint kennt folgende Optionen: HELP Gibt eine kurze Beschreibung aller Optionen aus.

(Abkürzung: ?)

FONTDir Dir Gibt ein zusätzliches Directory an, in dem nach Fontlibraries und nach pk-Fonts gesucht werden soll. (Abkürzung: -a)

FONTMem Zahl Gibt an, wie groß der interne Fontspeicher sein soll, in dem die Fonts gespeichert werden. (Abkürzung: -b)

MAXBITMem Zahl Definiert eine obere Schranke, wie viel Speicher maximal für die Bitmap der auszudruckende Seite allociert werden darf. Wenn man Null angibt, so wird kein Limit gesetzt. (Abkürzung: -m)

PRTBUFfer Zahl Gibt an, wie groß der interne Druckerpuffer sein soll. Bei manchen Druckern muß dieser Wert verringert werden, sonst erscheint manchmal ein “Printer Trouble” Requester. Dieser hat aber keinen Einfluß auf das Druckerergebniss. (Abkürzung: -e)

From Zahl Von welcher Seite an soll gedruckt werden.

(Abkürzung: -f)

To Zahl Bis zu welcher Seite soll gedruckt werden.

(Abkürzung: -t)

ODD Drucke nur die ungeraden Seiten aus.

(Abkürzung: -1)

EVEN Drucke nur alle geraden Seiten.

(Abkürzung: -2)

HOFFset ZahlXX Setzt den horizontalen Offset. XX ist dabei eine Einheit aus: pt Point, cm Zentimeter, in Inch, pc Pica, dd Didôt Point, cc Cicero, bp Big Point, mm Millimeter, mi Milli-Inch. (Abkürzung: -h)

VOFFset ZahlXX Setzt den vertikalen Offset. XX ist wieder eine zwei-Buchstaben Abkürzung einer Einheit. (Abkürzung: -v)

Printer Name Gibt an, für welchen Drucker die Ausgabe generiert werden soll.

(Abkürzung: -d)

OPTimize Soll die Druckausgabe optimiert werden? Dies resultiert in den meisten Fällen in einer höheren Druckgeschwindigkeit, auf manchen Druckern wird die Geschwindigkeit allerdings auch drastisch langsamer. (Abkürzung: -o)

DRAft Mit welcher Qualität soll ausgedruckt werden? Für Vorab-Testausdrucke ist die Geschwindigkeit meist wichtiger als die Druckqualität.

DENsity Zahl Wenn über die Preference-Treiber ausgedruckt wird, so wird die Druckqualität normalerweise über die Einstellungen in den Preferences bestimmt. Mit dieser Option kann man die Preference Einstellung überschreiben. (Abkürzung: -O)

UNIdirect Soll unidirectional oder bidirectional gedruckt werden? Bidirectional ist meist schneller, doch ist dann auf den meisten Druckern die Ausgabe schlechter. Auf bidirectional schaltet man mit

UNI=off

(Abkürzung: -u)

LANDscape Soll die Ausgabe um 90 Grad gedreht erfolgen? Dies funktioniert

nicht mit den Preference Treibern. (Abkürzung: -g)

IFF Soll die Ausgabe nicht auf den Druckern, sondern in ein IFF-File erfolgen? Für diese Ausgabe wird sehr viel Speicher, sowie die

iff.library benötigt.

(Abkürzung: -i)

SKIPformfeed Soll die Ausgabe des Form-Feeds am Ende der letzten Seite unterdrückt werden? (Abkürzung: -x)

REVerse Druckt die Seiten in umgekehrter Reihenfolge aus.

(Abkürzung: -r)

RESolution Setzt die Auflösung, mit der die Bitmap der Seite erstellt wird. Dies setzt nicht die Auflösung, mit der gedruckt wird, sondern nur die Auflösung, mit der die Seite aufgebaut wird. Als Auflösung kann entweder nur eine Zahl, oder eine Zahl – Strich – Zahl angegeben werden. Im ersten Fall wird sowohl die horizontale, als auch die vertikale Auflösung auf die angegebene Zahl gesetzt. Im zweiten Fall wird die erste Zahl als horizontale Auflösung und die zweite Zahl als vertikale Auflösung interpretiert. Z.B. RES=120/72 (Abkürzung: -z)

PREload Wenn ausgewählt, werden alle Fonts des Dokuments gleich zu Beginn geladen und nicht erst dann, wenn sie wirklich benötigt werden. (Abkürzung: -p)

FAST Setzt unter 2.0 ein Flag im printer.device, durch das die Ausgabe durch die parallele Schnittstelle erheblich beschleunigt wird. Unter 1.3 ist ein puffer.device in Vorbereitung, welches die Ausgabe auf schnellen Druckern wie den DeskJet 500 erheblich beschleunigen soll. Dieses ist allerdings noch nicht fertiggestellt. (Abkürzung: -T)

STATistic Erzeugt ein ausführlicheres Logfile.

(Abkürzung: -s)

DEBUGStat Schließt nach jeder Zeile das Logfile. Ist nur nützlich, wenn ShowDVI einen GURU erzeugen sollte und man wissen möchte, was noch zuvor in das Logfile geschrieben wurde. Sollte normalerweise nicht benötigt werden. (Abkürzung: -S)

LOGName Name Gibt den Namen/Pfad des Logfiles an. NOLog Unterdrückt die Erzeugung des Logfiles.

(Abkürzung: -l)

OUTto File Lenkt die Druckausgabe in ein File um. Dies funktioniert nicht mit den Preference Treibern. Dort muß das Utility cmd verwendet werden. (Abkürzung: ->)

SHOWPrinters Gibt eine Liste der verfügbaren Druckertreiber aus. Wurde bereits ein Drucker mit der printer Option angegeben, so wird die genaue Konfiguration des Druckers ausgegeben.

Die Parameter der Optionen können mit oder ohne Gleichheitszeichen angegeben werden. Folgendes ist also äquivalent “printer generic” bzw. “printer=generic”. Die Optionen dieser Liste ohne Parameter sind “boolsche” Optionen oder “Flags”. Diese gelten als “gesetzt”, wenn sie angegeben wurden. Nun kann es aber vorkommen, daß ein Flag bereits gesetzt ist, und man es nun zurücksetzen möchte. Zum Beispiel ist unidirect defaultmäßig schon gesetzt. Mittels uni=off kann man dieses Flag dann wieder zurücksetzen. Dies ist auch sehr nützlich, da man ständig benötigte Optionen in der Environmentvariable “DVIPRINT” abspeichern kann. Wenn man nun meist im “Draft” Modus auf den Drucker “necp6” ausdrucken möchte, so setzt man am besten:

   setenv DVIPRINT printer=necp6 draft=on

Will man nun aber einmal nicht im “Draft” Modus drucken, so kann man die Angabe im Environmentfile in der Kommandozeile überschreiten. Zum Beispiel durch:

   DVIprint draft=offfile-to-print

Standardmäßig wird der Druckertyp “generic” verwendet, welcher die Preference-Treiber für den Ausdruck verwendet. Ansonsten sind nur noch die HP Treiber “DeskJet” und “CheapDJ”^{2} fest in das DVIprint Programm integriert. Mit “printer=DeskJet” erzeugt DVIprint Ausgabe für den HP-DeskJet Drucker.

Alle anderen Treiber werden in dem File DVIprint.printers definiert. Da dieses File von einem normalen Anwender nicht von Interesse sein sollte, wird es hier auch nicht näher erläutert. Nur soviel, falls jemand einen Drucker hat, bei dem keiner der vordefinierten Treiber funktioniert, so kann er versuchen, einen neuen, auf seinen Drucker angepassten, Druckereintrag zu schreiben. Wie man solch Einträge in dem File einträgt, wird in dem File selbst erklärt.

Wenn Sie einen für Ihren Drucker passenden Treiber suchen, dann lassen Sie sich erst einmal mit “DVIprint showprinters” die Liste aller verfügbaren Treibern ausgeben und probieren dann der Reihe nach durch, welcher mit Ihrem Drucker am besten funktioniert. Dabei ist zu beachten, daß es zu ein und denselben Drucker oftmals mehrere verschiedene Treiber gibt. Diese unterscheiden sich meist nur durch die Optimierungsart. Es gibt “GFX”, “SPACES” und “POINT”. Dies sind drei verschiedene Arten weiße Zwischenräume zu überspringen.

GFX überspringt nicht, sondern druckt einfach weiter. Dies ist die Methode, die am meisten Druckerdaten erzeugt, dafür aber auch bei allen Druckern funktioniert. SPACES verläßt bei größeren Zwischenräumen den Graphicmodus und füllt die leere Fläche mit Spaces auf. POINT schließlich verwendet ein spezielles Druckerkommando und positioniert den Druckkopf mit einem Befehl direkt an der nächsten, nicht weißen, Stelle. Dies ist auf manchen Druckern (z.B. NecP6) das schnellste Verfahren, funktioniert aber bei vielen anderen Druckern (z.B. bei vielen NecP6 Kompatiblen) überhaupt nicht zufriedenstellend.

3.2. Start von Workbench

Bei dem Start von Workbench werden die Parameter über das Info File des Programms übergeben. Dort werden die “Tool-Types” definiert. Die Optionen, die man über CLI angeben kann, können alle auch als Tool-Types definiert werden. Allerdings müssen sie dort großgeschrieben werden und dürfen auch nicht abgekürzt werden.

2 Druckt im Tintensparmodus Man kann die Default-Parameter aber auch wie beim Start von CLI über die Environmentvariable “DVIPRINT” definieren.

Der Name des DVI-Files kann über Workbench auf zwei Arten DVIprint übergeben werden. Zum einen, in dem man erst das DVIprint Icon aktiviert und dann auf das DVI-File doppelklickt. Zum anderen, in dem man im Info-File des DVI-Files als “default tool” DVIprint einträgt.

3.2.1. WINDOW Tooltype

Da DVIprint immer Ausgabe erzeugt, wird beim Start von der Workbench ein Fenster geöffnet, in das die Ausgabe gelenkt wird. Damit man dieses Fenster seinen eigenen Ansprüchen anpassen kann, wird von DVIprint ein weiterer Tooltype mit dem Namen “WINDOW” ausgewertet. In diesem wird eine Consolen-Beschreibung erwartet.

Beispiele dazu:

   WINDOW=CON:10/20/400/100/DVIprint

oder falls man kein Fenster haben möchte (nicht unbedingt zu empfehlen):

   WINDOW=NIL:

unter 2.0 ist dies ganz interessant:

   WINDOW=CON:10/20/400/100/Title/CLOSE/WAIT/SCREEN ShowDVI-PubScr

dieses Window wird auf dem ShowDVI Screen geöffnet und bleibt auch nach Programmende solange offen, bis man entweder CTRL-\ drückt oder das Close-Gadget betätigt. Falls der Public-Screen “ShowDVI-PubScr” nicht vorhanden ist, wird das Ausgabefenster auf dem Workbenchscreen geöffnet.

Eine Beschränkung besteht allerdings: es wird, im Gegensatz zu dem normalen Auswerten der Optionen, nur der “WINDOW” Tooltype des Programmicons und nicht der Daten- (DVI-File) Icons ausgewertet.

4. Verfügbare Treiber

Das Besondere an DVIprint ist. daß das Programm nicht nur auf einem bestimmten Drucker drucken kann, sondern für viele verschiedene konfigurierbar ist. DVIprint hat intern drei verschiedene Arten von eingebauten Treibern.

Einmal der “generic” Treiber. Dieser bereitet nur die zu druckende Bitmap auf und überlaßt dem eingestellten Preference-Treiber den Druckvorgang. Mit diesem Treiber kann man also auf jeden graphicfähigen Drucker, der von Commodore unterstützt wird, ausdrucken. Die verwendete Auflösung wird dabei von der eingestellten Density bestimmt. Man kann die Density aber auch über die Kommand-Line Option “density” einstellen. Wenn man auch noch die “statistic” Option verwendet, wird angezeigt, welcher Auflösung die eingestellte Density entspricht.

Dann gibt es die HP-DeskJet Treiber “DeskJet” und “CheapDJ”. Letzterer verwendet den Tinten-Spar-Modus des DeskJets.

Schließlich ist noch ein frei konfigurierbarer Nadeldruckertreiber eingebaut. Dieser wird über das File “DVIprint.printers” konfiguriert. In diesem können die verschiedensten Treiber definiert werden. Man kann sich die Liste der verfügbaren Einstellungen/Treibern mit die “showprinters” Option ansehen.

Das File “DVIprint.printers” wird hier nicht näher erklärt, da man normalerweise nichts daran zu ändern braucht. In dem File selbst ist aber eine Beschreibung, damit man im Ernstfall doch etwas an dem File ändern kann.

5. Benötigte Fonts

Welche Fonts bzw. welche Auflösungen benötigen die einzelnen Druckertreiber? Hier soll nur auf die Fontlibraries eingegangen werden. Man kann die gleichen Fonts natürlich auch einzeln auf der Festplatte halten.

Hier werden nun natürlich auch nur ein paar wenige, vordefinierte Treiber besprochen. In dem File “DVIprint.printers” können aber noch beliebig viele andere Druckertypen definiert werden. Welche Fonts diese benötigen hängt ganz von deren Druckauflösung ab.

Diese Aufzählung soll nur als Anhaltspunkt dafür dienen, welche Fonts zu welchen Grundauflösungen gehören. Die vorgestellten Auflösungen stellen die für Drucker meist gebräuchlichen Auflösungen dar.

5.1. Für den NEC P6/P7

Folgende Libraries benötigt der NEC-P6/P7-Treiber:

Qual. mag0 mag0.5 mag1 mag1.5 mag2 mag2.5 mag3 mag4 mag5
Draft 180 197 216 237 259 284 311 373 448
HQ  360 394 432 473 518 568 622 746 896

Flib’s für den NEC-P6/P7-Treiber

Die Angaben sind alle in DPI^{3}. Dabei bedeutet 180, daß eine Library mit dem Namen PK0180 existieren muß/sollte.

Die Libraries der Vergrößerungen magstep 1.5 und magstep 2.5 benötigt man nicht unbedingt, aber hin und wieder treten auch diese Vergrößerungsstufen auf.

5.2. Für den HP DeskJet

Diese Libraries werden für den HP-Deskjet-Treiber benötigt. Dabei ist zu erwähnen, daß für den Draft-Modus die selben Libraries verwendet werden, wie für den Bildschirmtreiber.

Qual. mag0 mag0.5 mag1 mag1.5 mag2 mag2.5 mag3 mag4 mag5
Draft 100 110 120 131 144 158 173 207 249
HQ  300 329 360 394 432 473 518 622 746

3 dots per inch

Flib’s für den HP-DeskJet-Treiber

5.3. Für den Epson FX-80

Die für den Epson FX 80 verwendeten Libraries haben eine Besonderheit: Sie sind nicht quadratisch in ihrer Auflösung. Die kleinste Fontlibrary der Draft-Auflösung hat 120dpi in der Horizontalen und 72dpi in der Vertikalen. Bei der High-Quality-Auflösung ist das Verhältnis 240dpi horizontal zu 216dpi vertikal.

Qual. mag0 mag0.5 mag1 mag1.5 mag2 mag2.5 mag3 mag4 mag5
Draft 120 131 144 158 173 189 207 249 299
HQ  240 263 288 315 346 379 415 498 597

Flib’s für den Epson FX-80-Treiber

Durch diese Asymmetrie und der Tatsache, daß die Draft-Auflösung in den Bereich der Bildschirmauflösung reicht, ergibt sich das Problem, daß es Fontlibraries gibt, die zwar den selben Namen haben, aber einen grundverschiedenen Aufbau. Dies sind zum bei einer Bildschirmauflösung von 100dpi zum Beispiel die Libraries PK0120, PK0131, PK0144, PK0158, PK0173, PK0207 und PK0249. Bei einer anderen verwendeten Auflösung für den Previewer ergeben sich natürlich andere Überschneidungen. Dieses Problem kann man mit dem Fontdefinitions-File recht schnell und effizient lösen, da es je eines für den Previewer und Druckertreiber gibt. Man kopiert die Libraries, die doppelt existieren, in ein beliebiges Directory und ändert das Konfigurations-File entsprechend. Da Libraries, die dort definiert sind, erst an dem angegebenen Ort gesucht werden, werden die Previewer- Libraries im TeX:fontlib-Directory nicht verwendet.

Man kann dieses Problem auch lösen, in dem man alle Fonts umbennent und die horizontale und vertikale Auflösung in den Font- Library-Namen mit aufnimmt. Dazu existieren die Modifier “%h” und “%v” sowie “%x” und “%y”. Man kann also die Formatstrings folgendermaßen definieren:

flib str  PK%04hx%04v  ; formatstring for flib’s
pk str  %hx%v/%s.%dpk  ; formatstring for pk-files

Damit wird der Font cmr10 der Größe magstep1 bei einer Auflösung von 240×216 in der Library PK0288x0259 oder als PK-File mit dem Namen 288x259/cmr10.288pk gesucht.

6. Internas

Wie funktioniert das Programm? Was gibt es zu beachten und wie kann man die Fontverwaltung möglichst effizient gestalten und seinen eigenen Ansprüchen anpassen? Diese Fragen sollen in diesem Kapitel beantwortet werden, wobei allerdings auf die Anleitung zum ShowDVI-Programm verwiesen werden muß, da die Fontverwaltung dort genau beschrieben wird, hier aber nur auf die kleinen Unterschiede zu der Verwaltung des Previewers eingegangen wird. Es empfiehlt sich also zuerst die ShowDVI-Anleitung durchzulesen.

6.1. Erzeugung nichtgefundener Fonts mittels Metafont

Falls der Druckertreiber einen zum Drucken benötigten Font nicht finden kann und falls die Environtment Variable “CALLMF” gestetzt ist, so wird der Inhalt dieser Environment Variable als Name einer ARexx Script Datei verwendet.

Diese wird zur Erzeugung des nicht gefundenen Fonts mit folgenden Parametern aufgerufen:

– dem Fontnamen des zu erzeugenden Fonts,

– der Auflösung des Fonts in DPI,

– der horizontale Grundauflösung des Druckertreibers,

– der vertikalen Grundauflösung des Druckertreibers,

– einer Kennung des aufrufenden Programms,

– der Name, den der Font bekommen soll und

– dem Directory, in das der Font kopiert werden soll.

Es gibt schon zwei solcher Scripten. Einmal MakeTeXFont. Wenn “CALLMF” mit dieser Script belegt ist, so werden alle fehlenden Fonts sofort generiert. Da dies aber manchmal recht lange dauern kann, gibt es noch die Script Make-Batch. Diese Erzeugt die Fonts nicht sofort, sondern generiert nur ein Scriptfile MF:MakeTeXFont.sh. Mit Hilfe dieser erzeugten Script kann man später einmal alle fehlenden Fonts erzeugen.

Mehr dazu ist in der Anleitung zu den “CallMF” Scripten zu finden.

6.2. Fontverwaltung

Die Fontverwaltung entspricht bis auf eine Kleinigkeit der des ShowDVI-Programms. Diese ist der Name des Font-Konfigurations-Files. Bei dem Previewer ist der Name showdvi.fnt, folglich heißt es bei dem Druckertreiber dviprint.fnt.

Da sonst keine Unterschiede existieren, wird hier nicht weiter darauf eingegangen. Bitte lesen Sie hierzu die Anleitung zum ShowDVI-Programm.

7. Benötigte Soft- und Hardware

An Software benötigt man zuerst einmal ein Programm, das DVI-Files erzeugt. Im allgemeinen heißt dieses Programm virtex oder einfach tex.

Für die Ausgabe in ein IFF-File wird die iff.library von Christian A. Weber benötigt.

Hin und wieder kann auch das Utility cmd von Nutzen sein, mit dem man die Ausgabe der Preference-Treiber, die sonst zum Drucker geschickt wird, in eine Datei umlenken kann.

An Hardware benötigt man vor allem einen Amiga. Die wichtigste Erweiterung ist eine Speichererweiterung. Ein MByte an Hauptspeicher ist das absolute Minimum. Eine Festplatte ist zwar nicht unbedingt notwendig, möchte man allerdings vernünftig arbeiten, so ist auch diese ein Muß. Je nach verwendeten Druckertreiber und Anzahl der benötigten Fonts kann man bis zu 10 Mbyte an Plattenplatz benötigen.

8. Bekannte Fehler

Es wird unbedingt die Library “mathieeedoubbas.library” benötigt! Der Startup-Code von SAS-C, der diese Library öffnet bringt leider keine Fehlermeldung, falls die Library nicht geöffnet werden konnte. Das Programm läßt sich einfach nur nicht starten. :-(

Hin und wieder, je nach Drucker öfters oder gar nicht, kommt es dazu, daß das Betriebssytem eine Requester mit “Printer-Trouble” anzeigt und der Drucker keine Daten mehr bekommt. Nach dem Betätigen des RETRY Gadget druckt der Drucker ohne Probleme weiter. Falls der Requester häufiger auftritt, hilft meist ein verkleinern des Drucker Puffers mittels der PRTBUFfer Option, um diese Störungen aus der Welt zu schaffen.

Die iff.library hat leider manchmal mit besonders großen Seiten Probleme. Es kann sein, daß das Programm bei Auflösungen größer als 300dpi mit einer Fehlermeldung die Ausgabe in das IFF-File abbricht.

Sonst ist mir bisher noch kein Fehler untergekommen. Wenn aber jemand einen findet, so möge er ihn mir doch bitte (möglichst reproduzierbar, mit Log- und DVI-File) mitteilen.